package com.hdax.service;

import com.hdax.entity.Attendance;
import org.apache.ibatis.annotations.Param;

import java.util.List;


public interface AttendanceService {

    /**
     * 模糊查询
     * @param offset
     * @param limit
     * @param attendance 月份,员工编号
     * @return
     */
    List<Attendance> findAll(@Param("offset")int offset, @Param("limit")int limit, @Param("attendance") Attendance attendance );
    /**
     * 总条数
     * @param attendance
     * @return
     */
    int count(@Param("attendanca") Attendance attendance);
    /**
     * 上班打卡
     * @param attendance
     * @return
     */
    int insertByshang(@Param("attend") Attendance attendance);

    /**
     * 下班打卡
     * @param attendance
     * @return
     */
    int updateByxia(@Param("att") Attendance attendance);

    /**
     * 删除打卡记录
     * @param id
     * @return
     */
    int deleteByid(@Param("id") int id);
    /**
     * 获取全部的年月份
     * @return
     */
    List<Attendance> CountMoney();

    /**
     * 获取该条件下的条数
     * @param attendance
     * @return
     */
    int countByAtt(@Param("a") Attendance attendance );
    /**
     * 查询该状态的条数
     * @param attendance
     * @return
     */
    int CountState(@Param("e") Attendance attendance,@Param("state") int state);
    /**
     * 根据员工编号,时间,获取他的打卡状态
     * @param attendance
     * @return
     */
    Attendance ac(@Param("ac") Attendance attendance);
    /**
     * 请假的添加
     * @param employeeid 员工id
     * @param dakadate 时间
     * @param establishtime 时间
     * @return
     */
    int insetByDate(@Param("id") int employeeid,@Param("daka") String dakadate,@Param("end") String establishtime);
    /**
     * 获取今天打卡的条数,进行判断
     * @param attendance
     * @return
     */
    int selectByDaka(@Param("daka")Attendance attendance);
    /**
     * 根据id查询
     * @return
     */
    Attendance selectByid(@Param("id") int id);
    /**
     * 根据员工编号,查询该员工的所有记录
     * @param employeeid
     * @return
     */
    List<Attendance> findByeid(@Param("eid") int employeeid);
    /**
     * 根据id还有时间查询,该天日期是否打卡
     * @param employeeid
     * @param dakadate
     * @return
     */
    Attendance setexist(@Param("ed") int employeeid,@Param("data")String dakadate,@Param("de")String dakadateone);
    /**
     * 如果没有数据,进行添加
     * @param employeeid
     * @param dakadate
     * @return
     */
    int setsan(@Param("ed") int employeeid,@Param("data")String dakadate);
}
